package com.sg.dto.biz.bff.common;


import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.Objects;


/**
 * @desc BffEvalThemeDto
 * @使用场景
 */
@Data
public class BffEvalThemeDto implements Serializable {

    /**
     * 评价主题ID
     */
    @ApiModelProperty("评价主题ID")
    private String evaluationSubjectId;

    /**
     * 评价主题名称
     */
    @ApiModelProperty("评价主题名称")
    private String evaluationSubjectName;

    /**
     * 评价主题标识
     */
    @ApiModelProperty("评价主题标识")
    private String evaluationSubjectCode;

    /**
     * 操作人就职记录ID
     */
    @ApiModelProperty("操作人就职记录ID")
    private String operationInductionId;

    /**
     * 真实头像
     */
    @ApiModelProperty("真实头像")
    private String userFace;

    /**
     * 真实姓名
     */
    @ApiModelProperty("真实姓名")
    private String idCardName;

    /**
     * 用户昵称
     */
    @ApiModelProperty("用户昵称")
    private String nickName;

    /**
     * 操作时间
     */
    @ApiModelProperty("操作时间")
    private Date operateTime;

    /**
     * 主体生命周期
     */
    @ApiModelProperty("主体生命周期")
    private String subjectLifeCycle;
    /**
     * 冗余配置方案ID
     */
    @ApiModelProperty("冗余配置方案ID ")
    private String confSchemeId;

    /**
     * 冗余配置方案标识
     */
    @ApiModelProperty("冗余配置方案标识")
    private String confSchemeCode;

    /**
     * 评价模板配置方案标识
     */
    @ApiModelProperty("评价模板配置方案标识")
    private String evaTempConfSchemeCode;

    /**
     * 标题文案
     */
    @ApiModelProperty("标题文案")
    private String headCopywriter;

    /**
     * 模板方案简述
     */
    @ApiModelProperty("模板方案简述")
    private String evaThemeSketch;

    /**
     * 按钮提示文案
     */
    @ApiModelProperty("按钮提示文案")
    private String buttonCopywriter;

    /**
     * 媒体内容地址
     */
    @ApiModelProperty("媒体内容地址")
    private String mediaContentAddress;
    /**
     * 评价主题类型编码 
     */
    @ApiModelProperty("评价主题类型编码 ")
    private String evaluationSubjectTypeCode;

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        if (!super.equals(o)) return false;
        BffEvalThemeDto that = (BffEvalThemeDto) o;
        return evaluationSubjectId == that.evaluationSubjectId && evaluationSubjectName == that.evaluationSubjectName && evaluationSubjectCode == that.evaluationSubjectCode && operationInductionId == that.operationInductionId && userFace == that.userFace && idCardName == that.idCardName && nickName == that.nickName && operateTime == that.operateTime && subjectLifeCycle == that.subjectLifeCycle && confSchemeId == that.confSchemeId && confSchemeCode == that.confSchemeCode && evaTempConfSchemeCode == that.evaTempConfSchemeCode && headCopywriter == that.headCopywriter && evaThemeSketch == that.evaThemeSketch && buttonCopywriter == that.buttonCopywriter && mediaContentAddress == that.mediaContentAddress && evaluationSubjectTypeCode == that.evaluationSubjectTypeCode;
    }

    @Override
    public int hashCode() {
        return Objects.hash(super.hashCode(), evaluationSubjectId, evaluationSubjectName, evaluationSubjectCode, operationInductionId, userFace, idCardName, nickName, operateTime, subjectLifeCycle, confSchemeId, confSchemeCode, evaTempConfSchemeCode, headCopywriter, evaThemeSketch, buttonCopywriter, mediaContentAddress, evaluationSubjectTypeCode);
    }


}
   